package com.lsh.oms.core.model.query;

import com.lsh.oms.core.model.base.VenderModel;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

/**
 * Mis查询接口订单详情接口订单Model
 *
 * @author panxudong
 * @date 18/8/22
 */
@Setter
@Getter
@NoArgsConstructor
@ToString
public class MisOrderHeadForDetail extends VenderModel implements Serializable {

    private static final long serialVersionUID = -4314015441723297410L;
    /**
     * 售后单号
     */
    public String aftersalesCode;
    //售后单状态
    public Integer aftersalesStatus;
    /**
     * 订单号
     */
    private Long orderCode;
    /**
     * 订单类型
     */
    private Integer orderType;
    /**
     * 订单状态
     */
    private Integer orderStatus;
    /**
     * 支付类型
     */
    private Integer payType;
    /**
     * 仓储类型
     */
    private Integer storageType;
    /**
     * 下单时间
     */
    private Integer orderTime;
    /**
     * 下单时间
     */
    private Integer dealTime;
    /**
     * 下单账号
     */
    private Long userCode;
    /**
     * 地址编码
     */
    private Long addressCode;

    private Integer province;

    private Integer city;

    private Integer district;

    private Integer area;
    /**
     * 父订单号
     */
    private Long parentOrderCode;
    /**
     * 最近状态时间
     */
    private Integer updateTime;
    //收货人信息
    private String addressInfo;
    /**
     * So单号
     */
    private String soCodes;
    /**
     * 应付金额
     */
    private BigDecimal expectPayAmount;
    /**
     * 额外信息
     */
    private String ext;
    /**
     * 订单备注(ext)
     */
    private String remark;
    /**
     * 订单售后备注
     */
    private String remarks;
    /**
     * 延迟备注(ext)
     */
    private Integer delayRemark;
    /**
     * 取消时间(ext)
     */
    private Long cancelTime;
    /**
     * 订单取消备注
     */
    private String cancelRemark;
    /**
     * 订单取消操作人
     */
    private String cancelUser;
    /**
     * 仓储类型名称
     */
    private String storageTypeName;
    /**
     * 物理仓库编号
     */
    private String warehouseCode;
    /**
     * 区域
     */
    private Integer regionCode;
    /**
     *
     */
    private BigDecimal goodsTotalQuantity;
    /**
     * 有效下单数
     */
    private Integer effectiveOrderCount;

    /**
     * 运费
     */
    private BigDecimal freight;
    /**
     * ID(业务字段,不被序列化返回)
     */
    transient private Long id;

    private BigDecimal payReliefAmout;

    private BigDecimal originMoney;
    /**
     * 订单支付流水信息
     */
    private List<MisOrderHeadForPay> paySequences;
    /**
     * 订单明细
     */
    transient private List<MisOrderDetailForDetail> misOrderDetailForDetailList;
}
